#ifndef BTS_MGMT_H
#define BTS_MGMT_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class BTS_Mgmt; }
QT_END_NAMESPACE

class BTS_Mgmt : public QWidget
{
    Q_OBJECT

public:
    BTS_Mgmt(QWidget *parent = nullptr);
    //初始化主窗口部分ui界面
    void initUi();
    //处理切换界面
    void custHandlePageChange(int id);
    void clerkHandlePageChange(int id);
    void managerHandlePageChange(int id);
    //连接信号与槽
    void connectSlots();
    //账号管理数据库
    void initAccountSqlite();
    //存款信息数据库
    void initDepositInfoSqlite();
    void refreshMyAccount();//客户刷新的账户界面
    void refreshMyDepositInfo();//客户刷新我的存款界面
    void clerkRefreshMyCustInfo();//营业员刷新我的客户界面
    void managerRefreshMyCustInfo();//经理刷新我的客户界面
    void managerRefreshMyClerkInfo();//经理刷新营业员界面
    //取款信息数据库
    void initWithdrawInfoSqlite();//初始化取款信息数据库
    void refreshLatestWithdrawInfo();//客户刷新最近一次取款信息
    void refreshWithdrawApply();//营业员刷新取款审核
    //交易明细数据库(包含所有用户)
    void initTransactionDetailsSqlite();//初始化交易明细数据库
    void refreshCustTransactionDetail();//用户刷新交易明细
    void refreshManagerTransactionDetail();//经理刷新交易明细
    static void insertToTransactionDB(const QString& number,const QString& type,const QString& amount,const QString& time);
    //初始化今后三天到期储金数
    void initManagerCustFinishMoney();
    ~BTS_Mgmt();

private slots:
    void on_registered_clicked();//注册

    void on_login_clicked();//登录

    void on_cust_exit_log_clicked();//客户退出登录

    void on_clerk_exit_log_clicked();//营业员退出登录

    void on_manager_exit_log_clicked();//经理退出登录

    void on_acc_open_apply_clicked();//申请开户


    void on_clerk_acc_open_review_clicked();//开户审核

    void on_cust_apply_deposit_clicked();//申请存款

    void on_cust_apply_withdraw_clicked();//申请取款

    void on_acc_lost_apply_clicked();//申请挂失

    void on_clerk_withdraw_apply_manage_bnt_clicked();//取款审核


    void on_manager_add_clerk_bnt_clicked();//新增营业员

private:
    Ui::BTS_Mgmt *ui;
};
#endif // BTS_MGMT_H
